[INFO] fetching crate lellm-agent 0.3.0...
[INFO] fixing lellm-agent-0.3.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate lellm-agent 0.3.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate lellm-agent 0.3.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate lellm-agent 0.3.0
[INFO] tweaked toml for crates.io crate lellm-agent 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate lellm-agent 0.3.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate lellm-agent 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yunli v0.1.20
[INFO] [stderr]   Downloaded lellm-provider v0.3.0
[INFO] [stderr]   Downloaded lellm-core v0.3.0
[INFO] [stderr]   Downloaded lellm-graph v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f
[INFO] running `Command { std: "docker" "start" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]     Checking log v0.4.32
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling openssl v0.10.81
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking phf_shared v0.11.3
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking uuid v1.23.3
[INFO] [stderr]     Checking secrecy v0.8.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking ref-cast v1.0.25
[INFO] [stderr]     Checking h2 v0.4.14
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking time v0.3.49
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking lellm-core v0.3.0
[INFO] [stderr]     Checking lellm-graph v0.3.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking hyper v1.10.1
[INFO] [stderr]     Checking tower-http v0.6.11
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking lellm-provider v0.3.0
[INFO] [stderr]     Checking lellm-agent v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking yunli v0.1.20
[INFO] [stdout] error[E0432]: unresolved import `lellm_provider::MockProvider`
[INFO] [stdout]   --> examples/tool_definition.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 | use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ no `MockProvider` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 25 - use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout] 25 + use lellm_provider::{LlmProvider, ResolvedModel};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> examples/tool_definition.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use lellm_derive::{Tool, tool};
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 24 - use lellm_derive::{Tool, tool};
[INFO] [stdout] 24 + use lellm_core::{Tool, tool};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> tests/tool_macro_core.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use lellm_derive::tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 10 - use lellm_derive::tool;
[INFO] [stdout] 10 + use lellm_core::tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> tests/tool_macro_factory.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use lellm_derive::tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 10 - use lellm_derive::tool;
[INFO] [stdout] 10 + use lellm_core::tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_provider::MockProvider`
[INFO] [stdout]   --> examples/streaming_agent.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ no `MockProvider` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 13 - use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout] 13 + use lellm_provider::{LlmProvider, ResolvedModel};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> examples/weather_agent.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use lellm_derive::Tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 21 - use lellm_derive::Tool;
[INFO] [stdout] 21 + use lellm_core::Tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> examples/weather_agent_prompt.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use lellm_derive::Tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 15 - use lellm_derive::Tool;
[INFO] [stdout] 15 + use lellm_core::Tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use lellm_derive::tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 10 - use lellm_derive::tool;
[INFO] [stdout] 10 + use lellm_core::tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (example "streaming_agent") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `ParallelSafety`
[INFO] [stdout]   --> tests/tool_catalog.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BackoffStrategy, CompositeCatalog, ParallelSafety, RetryPolicy, StaticCatalog, ToolCatalog,
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]   --> examples/tool_use.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use lellm_derive::Tool;
[INFO] [stdout]    |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]    |
[INFO] [stdout] 33 - use lellm_derive::Tool;
[INFO] [stdout] 33 + use lellm_core::Tool;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_provider::MockProvider`
[INFO] [stdout]   --> examples/system_prompt.rs:23:22
[INFO] [stdout]    |
[INFO] [stdout] 23 | use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ no `MockProvider` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 23 - use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout] 23 + use lellm_provider::{LlmProvider, ResolvedModel};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_provider::MockProvider`
[INFO] [stdout]   --> examples/simple_agent.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 | use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ no `MockProvider` in the root
[INFO] [stdout]    |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]    |
[INFO] [stdout] 17 - use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout] 17 + use lellm_provider::{LlmProvider, ResolvedModel};
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/weather_agent_prompt.rs:24:3
[INFO] [stdout]    |
[INFO] [stdout] 24 | #[tool(
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/tool_use.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[tool(
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (example "system_prompt") due to 1 previous error
[INFO] [stderr] error: could not compile `lellm-agent` (example "simple_agent") due to 1 previous error
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/tool_use.rs:52:3
[INFO] [stdout]    |
[INFO] [stdout] 52 | #[tool(name = "check_inventory", description = "检查指定产品的库存数量")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_provider::MockProvider`
[INFO] [stdout]  --> tests/integration.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout]   |                      ^^^^^^^^^^^^ no `MockProvider` in the root
[INFO] [stdout]   |
[INFO] [stdout] help: a similar name exists in the module
[INFO] [stdout]   |
[INFO] [stdout] 9 - use lellm_provider::{MockProvider, ResolvedModel};
[INFO] [stdout] 9 + use lellm_provider::{LlmProvider, ResolvedModel};
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `lellm_derive`
[INFO] [stdout]  --> tests/integration.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use lellm_derive::Tool;
[INFO] [stdout]   |     ^^^^^^^^^^^^ use of unresolved module or unlinked crate `lellm_derive`
[INFO] [stdout]   |
[INFO] [stdout] help: there is a crate or module with a similar name
[INFO] [stdout]   |
[INFO] [stdout] 8 - use lellm_derive::Tool;
[INFO] [stdout] 8 + use lellm_core::Tool;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> tests/integration.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 90 | #[tool(name = "weather_search", description = "搜索天气信息")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]    --> tests/integration.rs:169:7
[INFO] [stdout]     |
[INFO] [stdout] 169 |     #[tool(description = "测试默认命名")]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]    --> tests/integration.rs:182:7
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[tool(name = "typed_test", description = "测试类型推导")]
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]    --> tests/integration.rs:225:3
[INFO] [stdout]     |
[INFO] [stdout] 225 | #[tool(name = "greet_tool", description = "打招呼")]
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/tool_use.rs:60:3
[INFO] [stdout]    |
[INFO] [stdout] 60 | #[tool(name = "get_weather", description = "获取指定位置的天气信息")]
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParallelSafety`
[INFO] [stdout]  --> tests/integration.rs:4:68
[INFO] [stdout]   |
[INFO] [stdout] 4 |     AgentBuilder, ContextBudget, ContextCompactor, LocalCompactor, ParallelSafety, StaticCatalog,
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/weather_agent.rs:31:3
[INFO] [stdout]    |
[INFO] [stdout] 31 | #[tool(
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `search_tool` in this scope
[INFO] [stdout]   --> examples/tool_definition.rs:92:10
[INFO] [stdout]    |
[INFO] [stdout] 92 |     vec![search_tool(), get_weather_tool()]
[INFO] [stdout]    |          ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_weather_tool` in this scope
[INFO] [stdout]   --> examples/tool_definition.rs:92:25
[INFO] [stdout]    |
[INFO] [stdout] 41 | fn get_weather(location: String, unit: Option<String>) -> ToolResult {
[INFO] [stdout]    | -------------------------------------------------------------------- similarly named function `get_weather` defined here
[INFO] [stdout] ...
[INFO] [stdout] 92 |     vec![search_tool(), get_weather_tool()]
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 92 -     vec![search_tool(), get_weather_tool()]
[INFO] [stdout] 92 +     vec![search_tool(), get_weather()]
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `db_query_tool_with` in this scope
[INFO] [stdout]   --> tests/tool_macro_factory.rs:55:15
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let reg = db_query_tool_with({
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `greet_tool` in this scope
[INFO] [stdout]   --> tests/tool_macro_factory.rs:80:15
[INFO] [stdout]    |
[INFO] [stdout] 80 |     let reg = greet_tool();
[INFO] [stdout]    |               ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `tool` in this scope
[INFO] [stdout]   --> examples/weather_agent.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[tool(
[INFO] [stdout]    |   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `greet_tool_with` in this scope
[INFO] [stdout]    --> tests/tool_macro_factory.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let reg = greet_tool_with({
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `NAME` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:102:29
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `NAME` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 102 |     assert_eq!(WeatherArgs::NAME, "weather_search");
[INFO] [stdout]     |                             ^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `NAME`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout]             candidate #2: `icu_properties::code_point_map::EnumeratedProperty`
[INFO] [stdout]             candidate #3: `icu_properties::code_point_set::BinaryProperty`
[INFO] [stdout]             candidate #4: `icu_properties::emoji::EmojiSet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]   --> examples/tool_definition.rs:97:23
[INFO] [stdout]    |
[INFO] [stdout] 54 | struct WeatherArgs {
[INFO] [stdout]    | ------------------ associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 97 |     vec![WeatherArgs::safe(|args| async move {
[INFO] [stdout]    |                       ^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `HttpGetArgs` in the current scope
[INFO] [stdout]   --> examples/weather_agent_prompt.rs:48:23
[INFO] [stdout]    |
[INFO] [stdout] 29 | struct HttpGetArgs {
[INFO] [stdout]    | ------------------ associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     vec![HttpGetArgs::safe(|args| async move {
[INFO] [stdout]    |                       ^^^^ associated function or constant not found in `HttpGetArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchArgs` in this scope
[INFO] [stdout]    --> examples/tool_definition.rs:136:9
[INFO] [stdout]     |
[INFO] [stdout] 136 |         SearchArgs::NAME,
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `SearchArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchArgs` in this scope
[INFO] [stdout]    --> examples/tool_definition.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |         SearchArgs::DESCRIPTION
[INFO] [stdout]     |         ^^^^^^^^^^ use of undeclared type `SearchArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchArgs` in this scope
[INFO] [stdout]    --> examples/tool_definition.rs:141:39
[INFO] [stdout]     |
[INFO] [stdout] 141 |         serde_json::to_string_pretty(&SearchArgs::__schema()).unwrap()
[INFO] [stdout]     |                                       ^^^^^^^^^^ use of undeclared type `SearchArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GetWeatherArgs` in this scope
[INFO] [stdout]    --> examples/tool_definition.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |         GetWeatherArgs::NAME,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ use of undeclared type `GetWeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 147 -         GetWeatherArgs::NAME,
[INFO] [stdout] 147 +         WeatherArgs::NAME,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GetWeatherArgs` in this scope
[INFO] [stdout]    --> examples/tool_definition.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |         GetWeatherArgs::DESCRIPTION
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ use of undeclared type `GetWeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 148 -         GetWeatherArgs::DESCRIPTION
[INFO] [stdout] 148 +         WeatherArgs::DESCRIPTION
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `DESCRIPTION` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:103:29
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `DESCRIPTION` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 103 |     assert_eq!(WeatherArgs::DESCRIPTION, "搜索天气信息");
[INFO] [stdout]     |                             ^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `DESCRIPTION`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `__name` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:108:29
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `__name` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     assert_eq!(WeatherArgs::__name(), "weather_search");
[INFO] [stdout]     |                             ^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_numbers_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_factory.rs:139:50
[INFO] [stdout]     |
[INFO] [stdout]  18 | fn add_numbers(a: i32, b: i32) -> ToolResult {
[INFO] [stdout]     | -------------------------------------------- similarly named function `add_numbers` defined here
[INFO] [stdout] ...
[INFO] [stdout] 139 |     let catalog = StaticCatalog::from_tools(vec![add_numbers_tool(), greet_tool()]);
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 139 -     let catalog = StaticCatalog::from_tools(vec![add_numbers_tool(), greet_tool()]);
[INFO] [stdout] 139 +     let catalog = StaticCatalog::from_tools(vec![add_numbers(), greet_tool()]);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `greet_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_factory.rs:139:70
[INFO] [stdout]     |
[INFO] [stdout] 139 |     let catalog = StaticCatalog::from_tools(vec![add_numbers_tool(), greet_tool()]);
[INFO] [stdout]     |                                                                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_numbers_tool_with` in this scope
[INFO] [stdout]    --> tests/tool_macro_factory.rs:170:15
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let reg = add_numbers_tool_with(|args| async move {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `NAME` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_definition.rs:156:22
[INFO] [stdout]     |
[INFO] [stdout]  54 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `NAME` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 156 |         WeatherArgs::NAME,
[INFO] [stdout]     |                      ^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `NAME`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout]             candidate #2: `icu_properties::code_point_map::EnumeratedProperty`
[INFO] [stdout]             candidate #3: `icu_properties::code_point_set::BinaryProperty`
[INFO] [stdout]             candidate #4: `icu_properties::emoji::EmojiSet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `__description` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:109:29
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `__description` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     assert_eq!(WeatherArgs::__description(), "搜索天气信息");
[INFO] [stdout]     |                             ^^^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `tool_definition` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `tool_definition` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 114 |     let def = WeatherArgs::tool_definition();
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `tool_definition`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `DESCRIPTION` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_definition.rs:157:22
[INFO] [stdout]     |
[INFO] [stdout]  54 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `DESCRIPTION` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 157 |         WeatherArgs::DESCRIPTION
[INFO] [stdout]     |                      ^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `DESCRIPTION`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `__schema` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_definition.rs:161:52
[INFO] [stdout]     |
[INFO] [stdout]  54 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `__schema` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |         serde_json::to_string_pretty(&WeatherArgs::__schema()).unwrap()
[INFO] [stdout]     |                                                    ^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `__schema`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `SearchProductsArgs` in the current scope
[INFO] [stdout]    --> examples/tool_use.rs:174:29
[INFO] [stdout]     |
[INFO] [stdout]  45 | struct SearchProductsArgs {
[INFO] [stdout]     | ------------------------- associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |         SearchProductsArgs::safe(|args| async move {
[INFO] [stdout]     |                             ^^^^ associated function or constant not found in `SearchProductsArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `__schema` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:160:31
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `__schema` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 160 |     let schema = WeatherArgs::__schema();
[INFO] [stdout]     |                               ^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `__schema`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `CheckInventoryArgs` in the current scope
[INFO] [stdout]    --> examples/tool_use.rs:180:29
[INFO] [stdout]     |
[INFO] [stdout]  53 | struct CheckInventoryArgs {
[INFO] [stdout]     | ------------------------- associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 180 |         CheckInventoryArgs::safe(|args| async move {
[INFO] [stdout]     |                             ^^^^ associated function or constant not found in `CheckInventoryArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `tool_definition` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:161:35
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `tool_definition` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     let def_schema = WeatherArgs::tool_definition().parameters;
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `tool_definition`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (test "tool_macro_factory") due to 7 previous errors
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `GetWeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_use.rs:186:25
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct GetWeatherArgs {
[INFO] [stdout]     | --------------------- associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 186 |         GetWeatherArgs::safe(|args| async move {
[INFO] [stdout]     |                         ^^^^ associated function or constant not found in `GetWeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `NAME` found for struct `MySearchTool` in the current scope
[INFO] [stdout]    --> tests/integration.rs:174:30
[INFO] [stdout]     |
[INFO] [stdout] 170 |     struct MySearchTool {
[INFO] [stdout]     |     ------------------- associated function or constant `NAME` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     assert_eq!(MySearchTool::NAME, "my_search_tool");
[INFO] [stdout]     |                              ^^^^ associated function or constant not found in `MySearchTool`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `NAME`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout]             candidate #2: `icu_properties::code_point_map::EnumeratedProperty`
[INFO] [stdout]             candidate #3: `icu_properties::code_point_set::BinaryProperty`
[INFO] [stdout]             candidate #4: `icu_properties::emoji::EmojiSet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `__name` found for struct `MySearchTool` in the current scope
[INFO] [stdout]    --> tests/integration.rs:175:30
[INFO] [stdout]     |
[INFO] [stdout] 170 |     struct MySearchTool {
[INFO] [stdout]     |     ------------------- associated function or constant `__name` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 175 |     assert_eq!(MySearchTool::__name(), "my_search_tool");
[INFO] [stdout]     |                              ^^^^^^ associated function or constant not found in `MySearchTool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `tool_definition` found for struct `TypedTestArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:194:30
[INFO] [stdout]     |
[INFO] [stdout] 183 |     struct TypedTestArgs {
[INFO] [stdout]     |     -------------------- associated function or constant `tool_definition` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 194 |     let def = TypedTestArgs::tool_definition();
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^ associated function or constant not found in `TypedTestArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `tool_definition`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `category_exclusive` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_definition.rs:192:38
[INFO] [stdout]     |
[INFO] [stdout]  54 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `category_exclusive` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 192 |     let cat_exclusive = WeatherArgs::category_exclusive(ToolCategory::NETWORK, |args| async move {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `exclusive` found for struct `WeatherArgs` in the current scope
[INFO] [stdout]    --> examples/tool_definition.rs:202:34
[INFO] [stdout]     |
[INFO] [stdout]  54 | struct WeatherArgs {
[INFO] [stdout]     | ------------------ associated function or constant `exclusive` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 202 |     let exclusive = WeatherArgs::exclusive(|args| async move {
[INFO] [stdout]     |                                  ^^^^^^^^^ associated function or constant not found in `WeatherArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `GreetArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:235:20
[INFO] [stdout]     |
[INFO] [stdout] 226 | struct GreetArgs {
[INFO] [stdout]     | ---------------- associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 235 |         GreetArgs::safe(
[INFO] [stdout]     |                    ^^^^ associated function or constant not found in `GreetArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `safe` found for struct `GreetArgs` in the current scope
[INFO] [stdout]    --> tests/integration.rs:246:20
[INFO] [stdout]     |
[INFO] [stdout] 226 | struct GreetArgs {
[INFO] [stdout]     | ---------------- associated function or constant `safe` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 246 |         GreetArgs::safe(
[INFO] [stdout]     |                    ^^^^ associated function or constant not found in `GreetArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (example "weather_agent_prompt") due to 3 previous errors
[INFO] [stdout] error[E0599]: no associated function or constant named `tool_definition` found for struct `ResolveCityArgs` in the current scope
[INFO] [stdout]   --> examples/weather_agent.rs:71:49
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct ResolveCityArgs {
[INFO] [stdout]    | ---------------------- associated function or constant `tool_definition` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 71 |         ToolRegistration::safe(ResolveCityArgs::tool_definition(), move |args| {
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^^ associated function or constant not found in `ResolveCityArgs`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `tool_definition`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `tool_definition` found for struct `HttpGetArgs` in the current scope
[INFO] [stdout]    --> examples/weather_agent.rs:109:45
[INFO] [stdout]     |
[INFO] [stdout]  49 | struct HttpGetArgs {
[INFO] [stdout]     | ------------------ associated function or constant `tool_definition` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |         ToolRegistration::safe(HttpGetArgs::tool_definition(), |args| {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^ associated function or constant not found in `HttpGetArgs`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `tool_definition`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `ToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (example "tool_use") due to 7 previous errors
[INFO] [stderr] error: could not compile `lellm-agent` (example "tool_definition") due to 15 previous errors
[INFO] [stdout] warning: unused import: `lellm_agent::ToolArgs`
[INFO] [stdout]  --> tests/tool_macro_core.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use lellm_agent::ToolArgs;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:23:16
[INFO] [stdout]    |
[INFO] [stdout] 23 |     assert_eq!(AddNumbersArgs::NAME, "add_numbers");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:24:16
[INFO] [stdout]    |
[INFO] [stdout] 24 |     assert_eq!(AddNumbersArgs::DESCRIPTION, "");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_numbers_tool` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:29:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn add_numbers(a: i32, b: i32) -> ToolResult {
[INFO] [stdout]    | -------------------------------------------- similarly named function `add_numbers` defined here
[INFO] [stdout] ...
[INFO] [stdout] 29 |     let reg = add_numbers_tool();
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 29 -     let reg = add_numbers_tool();
[INFO] [stdout] 29 +     let reg = add_numbers();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:35:15
[INFO] [stdout]    |
[INFO] [stdout] 35 |     let def = AddNumbersArgs::tool_definition();
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `MyAddArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:62:16
[INFO] [stdout]    |
[INFO] [stdout] 62 |     assert_eq!(MyAddArgs::NAME, "custom_add");
[INFO] [stdout]    |                ^^^^^^^^^ use of undeclared type `MyAddArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `MyAddArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     assert_eq!(MyAddArgs::DESCRIPTION, "自定义加法器");
[INFO] [stdout]    |                ^^^^^^^^^ use of undeclared type `MyAddArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `my_add_tool` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:65:15
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let reg = my_add_tool();
[INFO] [stdout]    |               ^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SubtractArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:82:16
[INFO] [stdout]    |
[INFO] [stdout] 82 |     assert_eq!(SubtractArgs::DESCRIPTION, "计算两个数的差值");
[INFO] [stdout]    |                ^^^^^^^^^^^^ use of undeclared type `SubtractArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SubtractArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |     assert_eq!(SubtractArgs::NAME, "subtract");
[INFO] [stdout]    |                ^^^^^^^^^^^^ use of undeclared type `SubtractArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `MultiplyArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_core.rs:94:16
[INFO] [stdout]    |
[INFO] [stdout] 94 |     assert_eq!(MultiplyArgs::DESCRIPTION, "显式描述优先");
[INFO] [stdout]    |                ^^^^^^^^^^^^ use of undeclared type `MultiplyArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `TypedFunctionArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let def = TypedFunctionArgs::tool_definition();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^ use of undeclared type `TypedFunctionArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GetTimestampArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:162:16
[INFO] [stdout]     |
[INFO] [stdout] 162 |     assert_eq!(GetTimestampArgs::NAME, "get_timestamp");
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^ use of undeclared type `GetTimestampArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GetTimestampArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:163:16
[INFO] [stdout]     |
[INFO] [stdout] 163 |     assert_eq!(GetTimestampArgs::DESCRIPTION, "获取当前时间戳");
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^ use of undeclared type `GetTimestampArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_timestamp_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:165:15
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn get_timestamp() -> ToolResult {
[INFO] [stdout]     | -------------------------------- similarly named function `get_timestamp` defined here
[INFO] [stdout] ...
[INFO] [stdout] 165 |     let reg = get_timestamp_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 165 -     let reg = get_timestamp_tool();
[INFO] [stdout] 165 +     let reg = get_timestamp();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GetTimestampArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:168:15
[INFO] [stdout]     |
[INFO] [stdout] 168 |     let def = GetTimestampArgs::tool_definition();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^ use of undeclared type `GetTimestampArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |     let schema1 = AddNumbersArgs::__schema();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:186:19
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let schema2 = AddNumbersArgs::__schema();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:187:19
[INFO] [stdout]     |
[INFO] [stdout] 187 |     let schema3 = AddNumbersArgs::__schema();
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_core.rs:192:22
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let def_schema = AddNumbersArgs::tool_definition().parameters;
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (test "tool_macro_core") due to 20 previous errors; 1 warning emitted
[INFO] [stderr] error: could not compile `lellm-agent` (example "weather_agent") due to 5 previous errors
[INFO] [stdout] Some errors have detailed explanations: E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (test "integration") due to 18 previous errors; 1 warning emitted
[INFO] [stdout] warning: unused import: `ToolArgs`
[INFO] [stdout]  --> tests/tool_macro_edge_cases.rs:8:34
[INFO] [stdout]   |
[INFO] [stdout] 8 | use lellm_agent::{StaticCatalog, ToolArgs, ToolCategory, ToolExecutor};
[INFO] [stdout]   |                                  ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `SearchUserArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:50:15
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let reg = SearchUserArgs::category_exclusive(ToolCategory::DATABASE, |args| async move {
[INFO] [stdout]    |               ^^^^^^^^^^^^^^ use of undeclared type `SearchUserArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `FileReadArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:63:15
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let reg = FileReadArgs::exclusive(|args| async move {
[INFO] [stdout]    |               ^^^^^^^^^^^^ use of undeclared type `FileReadArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `GreetArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let _ = GreetArgs::NAME;
[INFO] [stdout]    |             ^^^^^^^^^ use of undeclared type `GreetArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `greet_tool` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let _ = greet_tool();
[INFO] [stdout]    |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `greet_tool_with` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let _ = greet_tool_with(|_| async { Ok(serde_json::json!("ok")) });
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AsyncSearchArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:97:16
[INFO] [stdout]    |
[INFO] [stdout] 97 |     assert_eq!(AsyncSearchArgs::NAME, "async_search");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^ use of undeclared type `AsyncSearchArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AsyncSearchArgs` in this scope
[INFO] [stdout]   --> tests/tool_macro_edge_cases.rs:98:16
[INFO] [stdout]    |
[INFO] [stdout] 98 |     assert_eq!(AsyncSearchArgs::DESCRIPTION, "异步搜索");
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^ use of undeclared type `AsyncSearchArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `async_search_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout]  88 | async fn async_search(query: String, limit: u32) -> ToolResult {
[INFO] [stdout]     | -------------------------------------------------------------- similarly named function `async_search` defined here
[INFO] [stdout] ...
[INFO] [stdout] 103 |     let reg = async_search_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 103 -     let reg = async_search_tool();
[INFO] [stdout] 103 +     let reg = async_search();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `MyCustomSearchToolArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:135:16
[INFO] [stdout]     |
[INFO] [stdout] 135 |     assert_eq!(MyCustomSearchToolArgs::NAME, "my_custom_search_tool");
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^ use of undeclared type `MyCustomSearchToolArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `my_custom_search_tool_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn my_custom_search_tool(q: String) -> ToolResult {
[INFO] [stdout]     | ------------------------------------------------- similarly named function `my_custom_search_tool` defined here
[INFO] [stdout] ...
[INFO] [stdout] 136 |     let reg = my_custom_search_tool_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 136 -     let reg = my_custom_search_tool_tool();
[INFO] [stdout] 136 +     let reg = my_custom_search_tool();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `risky_op_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:155:15
[INFO] [stdout]     |
[INFO] [stdout] 155 |     let reg = risky_op_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:197:16
[INFO] [stdout]     |
[INFO] [stdout] 197 |     assert_eq!(AddNumbersArgs::__name(), AddNumbersArgs::NAME);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |     assert_eq!(AddNumbersArgs::__name(), AddNumbersArgs::NAME);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:198:16
[INFO] [stdout]     |
[INFO] [stdout] 198 |     assert_eq!(AddNumbersArgs::__description(), AddNumbersArgs::DESCRIPTION);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:198:49
[INFO] [stdout]     |
[INFO] [stdout] 198 |     assert_eq!(AddNumbersArgs::__description(), AddNumbersArgs::DESCRIPTION);
[INFO] [stdout]     |                                                 ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |         AddNumbersArgs::__schema(),
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `AddNumbersArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 201 |         AddNumbersArgs::tool_definition().parameters
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ use of undeclared type `AddNumbersArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find type `ABCArgs` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:216:16
[INFO] [stdout]     |
[INFO] [stdout] 216 |     assert_eq!(ABCArgs::NAME, "a_b_c");
[INFO] [stdout]     |                ^^^^^^^ use of undeclared type `ABCArgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `a_b_c_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |     let _ = a_b_c_tool();
[INFO] [stdout]     |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_numbers_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout]  18 | fn add_numbers(a: i32, b: i32) -> ToolResult {
[INFO] [stdout]     | -------------------------------------------- similarly named function `add_numbers` defined here
[INFO] [stdout] ...
[INFO] [stdout] 226 |     let reg = add_numbers_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 226 -     let reg = add_numbers_tool();
[INFO] [stdout] 226 +     let reg = add_numbers();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_numbers_tool` in this scope
[INFO] [stdout]    --> tests/tool_macro_edge_cases.rs:240:15
[INFO] [stdout]     |
[INFO] [stdout]  18 | fn add_numbers(a: i32, b: i32) -> ToolResult {
[INFO] [stdout]     | -------------------------------------------- similarly named function `add_numbers` defined here
[INFO] [stdout] ...
[INFO] [stdout] 240 |     let reg = add_numbers_tool();
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: a function with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 240 -     let reg = add_numbers_tool();
[INFO] [stdout] 240 +     let reg = add_numbers();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lellm-agent` (test "tool_macro_edge_cases") due to 22 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f", kill_on_drop: false }`
[INFO] [stdout] bc3ca3b43dbd4a19bdfa76abb8af049e3d19c608bfc9fc54a9e8320947dfd29f
